/**
 *   async/await
 *       => 异步操作用同步写法实现
 *          异步读文件操作写法
 *              fs.readFile('demo.txt','utf-8',function(err,data){
 *                    if(err)
 *                         return
 *                    console.log(data)
 *              })
 *
 *
 *          同步读文件操作写法
 *              const data = fs.readFileSync('demo.txt','utf-8')
 *              console.log(data)
 */

const fs = require('fs')

// 1. 封装一个async 开头的函数

const readFilePromise = fileUrl => {
	return new Promise(function (resolve, reject) {
		fs.readFile(fileUrl, 'utf-8', function (err, data) {
			if (err) {
				reject('读文件出错')
			} else {
				resolve(data.toString())
			}
		})
	})
}

// function readFileAsync() {
// 	const promise = readFilePromise('demo.txt')
// 	promise.then(function(data){
//         console.log(data)
//     })
// }

async function readFileAsync(){
    const data = await readFilePromise('demo.txt')
    console.log('data ',data);
}

readFileAsync()
